import { option, options } from "runjs";

/*
 * @Description:负责管理所有的自定义指令
 * @Author: jun.wu
 * @Date: 2022-10-18 11:19:45
 * @LastEditors: jun.wu
 * @LastEditTime: 2022-11-02 14:45:50
 */
export const imageerror = {
  //指令对象 会在当前的dom元素插入到节点之后执行
  inserted(dom, options) {
    //option是指令中的变量解释,其中有一个属性叫做value
    //dom表示当前指令作用的dom对象（dom此时就是图片）
    dom.src = dom.src || options.value; //初始化的时候，有值则赋值，没值进行默认值赋值
    //当图片有地址，但是地址没有加载成功的时候，会报错，触发一个图片的事件=>onerror
    dom.onerror = function () {
      //当图片出现异常的时候，会将指令配置的默认图片设置为该图片的默认内容
      //dom可以注册error事件
      dom.src = options.value; //不能写死
    };
  },
  componentUpdated(dom, options) {
    //该钩子函数会在当前指令作用的组件更新数据完毕之后执行
    // inserted只会执行一次，组件初始化一旦更新就会再进入inserted函数 会进入componentUpdated
    dom.src = dom.src || options.value;
  },
};
